.TH std::experimental::propagate_const::swap 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::experimental::propagate_const::swap \- std::experimental::propagate_const::swap

.SH Synopsis
   constexpr void swap( propagate_const & pt )             (library fundamentals TS v2)
   noexcept(/* see below */);

   Swaps the wrapped pointer with that of pt. Let t_ designate the private data member
   that is the wrapped pointer-like object, then this function is equivalent to
   swap(t_, pt.t_), where the overload resolution for swap is performed among std::swap
   and any declaration found by the usual lookup rules, as described in Swappable.

   The behavior is undefined if lvalues of T do not satisfy Swappable.

.SH Parameters

   pt - another propagate_const object to swap with

.SH Exceptions

   noexcept specification:
   noexcept(noexcept(swap(t_, pt.t_)))
   The lookup for the identifier swap in the exception              (library
   specification finds overloads described above, and does not find fundamentals TS v2)
   the member function itself, making the exception specification
   equivalent to C++17 std::is_nothrow_swappable.
   noexcept specification:                                          (library
   noexcept(std::is_nothrow_swappable_v<T>)                         fundamentals TS v3)

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

      DR    Applied to           Behavior as published            Correct behavior
   LWG 3413 LFTSv2     the exception specification was ill-formed made well-formed

.SH Category:
     * conditionally noexcept
